package org.example.database_course_design.service;

import org.example.database_course_design.entity.DTO.cardIDAndPass;
import org.example.database_course_design.entity.PO.CardTransactionSum;
import org.example.database_course_design.entity.PO.Cardinfo;
import org.example.database_course_design.entity.PO.Tradeinfo;
import org.example.database_course_design.entity.PO.Userinfo;
import org.example.database_course_design.entity.VO.UserForm;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.math.BigDecimal;
import java.util.List;

public interface CustomerService {
    Userinfo update(Userinfo userinfo);

    UserForm getBalance(String cardID, String password);

    Boolean lost(cardIDAndPass cardIDAndPass);

    Boolean changeBalance(Cardinfo cardinfo);

    Boolean moveMoney(Cardinfo cardinfo, String cardID);

    Boolean updatePwd(String cardID, String telephone, String newPassword);

    BigDecimal getBalanceInfo(String cardID);

    List<Tradeinfo> getMyTrace(String cardID);

    Boolean updatePwdByOld(String cardID, String oldPassword, String newPassword);

    List<CardTransactionSum> getMyMoneySum(String cardID);

    Page<Tradeinfo> getMyTracePage(String cardID, String type, String startDate, String endDate, Integer pageNum, Integer pageSize);
}
